// pages/index/index.js
const app = getApp();
const wuhuUrl = app.globalData.wuhuUrl;
let imagePaths = [];
Page({
  data: {
    userId: '',
    records: [], // 存放浏览记录的数组
    hasRecords: true, // 是否有记录的标志
  },
  onLoad: function (options) {
    const userInfo = wx.getStorageSync('userInfo');
    console.log('userid传到怕照页面：', userInfo);
    this.setData({
      userId: userInfo.userId, // 设置用户ID
    });
    // 发送请求获取浏览记录数据
    wx.request({
      url: wuhuUrl+'/ft/textin/history_file',
      data: {
        userId: userInfo.userId,
      },
      success: (res) => {
        console.log('成功获取浏览记录数据：', res.data.data);
        // 更新页面数据
        const records = res.data.data.map(item => ({
          ...item,
          icon: this.getIcon(item.filename) // 添加图标路径属性
        }));
        this.setData({
          records: records, // 将后端返回的文件信息存入 records 数组
        });
        console.log(this.data.records);

        // 判断数据是否为空，设置页面状态
        if (records.length === 0) {
          this.setData({
            hasRecords: false
          });
        } else {
          this.setData({
            hasRecords: true
          });
        }
      },
      fail: (error) => {
        console.error('获取浏览记录数据失败：', error);
      }
    });
  },
  // 点击文件名称触发下载事件
  downloadFile(event) {
    const fileUrl = event.currentTarget.dataset.url;
    const suffix = fileUrl.split('.').pop().toLowerCase();
    console.log(fileUrl)
    console.log(suffix)
    if (suffix === 'zip') {
      wx.showModal({
        title: '下载文件',
        content: '转换成功，是否要下载转换后的文件？',
        success: modalRes => {
          if (modalRes.confirm) {
            // 用户确认下载文件，执行下载操作
            wx.downloadFile({
              url: fileUrl, // 后端返回的文件下载路径
              success: downloadRes => {
                if (downloadRes.statusCode === 200) {
                  // 下载成功后，解压缩 zip 文件
                  wx.getFileSystemManager().unzip({
                    zipFilePath: downloadRes.tempFilePath,
                    targetPath: wx.env.USER_DATA_PATH, // 将解压后的文件保存到用户数据目录
                    success: unzipRes => {
                      console.log('解压成功:', unzipRes);
                      // 解压成功后，遍历解压目标路径下的所有文件和文件夹
                      wx.getFileSystemManager().readdir({
                        dirPath: wx.env.USER_DATA_PATH, // 解压后的目标路径
                        success: readdirRes => {
                          console.log('读取目录成功:', readdirRes.files);
                          // 遍历读取的文件列表
                          readdirRes.files.forEach(file => {
                            // 判断文件是否为图片文件（示例中只判断了以 .jpg 和 .png 结尾的文件）
                            if (file.endsWith('.jpg') || file.endsWith('.png')) {
                              // 如果是图片文件，则将其路径保存到页面数据中，以便后续处理
                              const imagePath = `${wx.env.USER_DATA_PATH}/${file}`;
                              console.log('图片路径:', imagePath);
                              imagePaths.push(imagePath);
                            }
                          });
                          wx.navigateTo({
                            url: `../../index/PdfChange/PdfTopicture/PdfTopicture?imagePaths=${JSON.stringify(imagePaths)}`,
                          });
                        },
                        fail: readdirErr => {
                          console.error('读取目录失败:', readdirErr);
                          // 提示用户读取目录失败
                          wx.showToast({
                            title: '读取目录失败',
                            icon: 'none'
                          });
                        }
                      });
                    },
                    fail: unzipErr => {
                      console.error('解压失败:', unzipErr);
                      // 提示用户解压失败
                      wx.showToast({
                        title: '解压失败',
                        icon: 'none'
                      });
                    }
                  });
                } else {
                  console.error('文件下载失败:', downloadRes.statusCode);
                  // 提示用户下载失败
                  wx.showToast({
                    title: '文件下载失败',
                    icon: 'none'
                  });
                }
              },
              fail: downloadErr => {
                console.error('文件下载失败:', downloadErr);
                // 提示用户下载失败
                wx.showToast({
                  title: '文件下载失败',
                  icon: 'none'
                });
              }
            });
          } else if (modalRes.cancel) {
            // 用户取消下载文件，不进行下载操作
          }
        }
      });
    } else {
      // 如果不是 zip 文件，弹出确认下载对话框
      wx.showModal({
        title: '下载文件',
        content: '是否要下载文件？',
        success: modalRes => {
          if (modalRes.confirm) {
            // 用户确认下载文件，执行下载操作
            wx.downloadFile({
              url: fileUrl,
              success: (res) => {
                // 下载成功后打开文件
                wx.openDocument({
                  filePath: res.tempFilePath,
                  success: (res) => {
                    console.log('打开文档成功');
                  },
                  fail: (error) => {
                    console.error('打开文档失败', error);
                  }
                });
              },
              fail: (error) => {
                console.error('下载文件失败', error);
              }
            });
          } else if (modalRes.cancel) {
            // 用户取消下载文件，不进行下载操作
          }
        }
      });
    }


  },
  // 根据文件名后缀获取对应图标路径
  getIcon(filename) {
    const suffix = filename.split('.').pop().toLowerCase();
    if (suffix === 'pdf') {
      return 'https://kangkangkangkang.oss-cn-wuhan-lr.aliyuncs.com/%E5%BA%B7/index/Pdf.png';
    } else if (suffix === 'pptx') {
      return 'https://kangkangkangkang.oss-cn-wuhan-lr.aliyuncs.com/%E5%BA%B7/me/ppt.png';
    }else if (suffix === 'doc' || suffix === 'docx') {
      return 'https://kangkangkangkang.oss-cn-wuhan-lr.aliyuncs.com/%E5%BA%B7/index/WORD.png';
    } else if (suffix === 'xls' || suffix === 'xlsx') {
      return 'https://kangkangkangkang.oss-cn-wuhan-lr.aliyuncs.com/%E5%BA%B7/index/EXCEL.png';
    } else if (suffix === 'zip') {
      return 'https://kangkangkangkang.oss-cn-wuhan-lr.aliyuncs.com/%E5%BA%B7/me/ZIP.png';
    } else {
      return 'https://kangkangkangkang.oss-cn-wuhan-lr.aliyuncs.com/%E5%BA%B7/me/%E6%96%87%E4%BB%B6%E5%A4%B9-%E7%BA%A2.png'; // 其他文件类型的默认图标
    }
  },
  delete: function () {
    const userId = this.data.userId;
    console.log(userId);
    // 显示加载提示
    wx.showLoading({
      title: '删除中...',
      mask: true
    });
  
    wx.request({
      url: wuhuUrl+'/ft/textin/delete_history_file',
      data: {
        userId: userId,
      },
      success: (res) => {
        console.log('成功删除数据：', res);
        // 删除成功后重新加载页面数据
        this.onLoad();
        // 隐藏加载提示
        wx.hideLoading();
        // 提示用户删除成功
        wx.showToast({
          title: '删除成功',
          icon: 'success'
        });
      },
      fail: (error) => {
        console.error('删除数据失败：', error);
        // 隐藏加载提示
        wx.hideLoading();
        // 提示用户删除失败
        wx.showToast({
          title: '删除失败',
          icon: 'none'
        });
      }
    });
  }
  
});